home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_1 / ckit254.zip / HISTORY < prev    next >
Text File  |  1992-12-01  |  31KB  |  720 lines

  1.                                  RELEASE HISTORY
  2. v.2.54
  3. 12/01/92
  4.  
  5. -  Fix problem with higher IRQ's.   CKIT has been tested and
  6.    will work with interrupts 0-15 and any port address.
  7.    The irq should be entered in decimal. (the port is in hex).
  8.    i.e. PORT:03E8:12 tells CKIT to use port 03E8 interrupt 12.
  9.  
  10. -  Cleaned some up code with optimization.
  11.  
  12. v.2.52
  13. 10/22/92
  14.  
  15. -  Changed _ck_gen_msgs and ck_logoff_msgs so that they use
  16.    standard output instead of BIOS.  This will allow use of
  17.    ANSI controls in message strings to change colors, cursor
  18.    control etc.
  19.  
  20. -  Fixed a bug in the ck_get_cmdline() routine.
  21.  
  22. 09-25-92 v2.50
  23.  
  24. -  Added Support for Digiboard Universal driver for Digiboards.
  25.    Use same as the Fossil command to open_door.
  26.    Instead of F in the port command, use a D. (for Digiboard)
  27.    PORT:D:x    -  x equal channel number.
  28.  
  29. -  Added Support for highter interrupts (8-15).
  30.  
  31. -  Updated CKIT.H to make it more compatible with C++ compilers and
  32.    added/corrected a few ckit variables that were missing.
  33.  
  34. 04/25/92
  35.  
  36. -  Changed CKIT to use less near heap space.
  37.    There is now approx. 4.3K more near data
  38.    space in the small and medium models and
  39.    2.2K more near data space in the large
  40.    memory model.
  41.  
  42. 04/22/92
  43.  
  44. -  Fixed CKIT to handle node numbers greater than 99 with door.sys
  45.  
  46. -  Fixed CKIT to be compatible with PCB14.5A /X version for node
  47.    numbers when using pcboard.sys.
  48.  
  49. 04/12/92
  50.  
  51. -  Added ck_NO_STATUS.  When TRUE, tells CKIT not to create
  52.    a status line.    Must be set to desired state before
  53.    open_door() is called.  Once open_door() is called,
  54.    it cannot be changed.
  55.  
  56.  
  57. -  Optimized some code in the large model's ck_input() and
  58.    corrected a bug at the same time.  At times, ck_input
  59.    was skipping a character in the input bufer.
  60.    Corrected.
  61.  
  62. 12-15-91 v2.10
  63.  
  64. -  Changed the way CKIT was handling the speaker beep
  65.    on keyboard timeout beeps.
  66.  
  67. -  Added ck_NOSYSTEM.  When TRUE, tells CKIT open_door() not
  68.    not to expect a filename but a pointer to a structure
  69.    for it's information.  The structure is typed in ckit.h as
  70.  
  71.    typedef struct ckitgeneric {
  72.     char port[6];                   /* COM:X  COM0: equals local  */
  73.     short min_left;                 /* minutes left */
  74.    };
  75.  
  76.    This will allow your door program to read any BBS system file
  77.    and pass the information CKIT needs thru the structure.
  78.    open_door() will still accept the port:AAAA:X.
  79.  
  80.  
  81.    If you don't need this, then no changes are necassary in your source
  82.    code.  However, if you would like make your door compatible with a
  83.    BBS system that CKIT does not support (such as WWIV), then you
  84.    can read the WWIV file, fill in the appropriate CKIT variables
  85.    (ck_fullname, ck_ckit, etc) and the ckitgeneric structure with
  86.    the port and minutes left.  Then set CK_NOSYSTEM = TRUE, and call
  87.    open_door().  You should fill in ck_fullname, ck_baud etc before
  88.    you call open_door() so that the status line will contain the
  89.    proper information.  If you don't, it won't hurt anything and
  90.    CKIT will pick it anyway the next time it updates the status line.
  91.    (either after one minute or by typing ALT-H to scroll thru).
  92.    Be careful you pay attention to the size of the CKIT arrays that
  93.    you will be filling in and you don't exceed them.  For instance,
  94.    ck_fullname is declared as ck_fullname[26] (including null).
  95.    Check the docs for the size/types of the variables.
  96.  
  97. - Added ck_NO_FKEYS.  When TRUE it will disable the local
  98.   sysop keyboard F-keys and ALT keys except for ALT-H.
  99.   Default is FALSE. (F-keys enabled)
  100.  
  101. - Change set_kybd_time() so that each call to it zeros the
  102.   present keyboard timer time
  103.  
  104. - A big one here.  I think I finally tracked down the cause
  105.   of CKIT suddenly hanging at times up while transmitting
  106.   for no reason while it was apprently waiting on CTS when
  107.   CTS  was OK.  I finally managed to duplicate it repeatly and
  108.   found the cause.
  109.  
  110. - Fix a bug were a if you specified USERSFILE=TRUE and there
  111.   was an error opening the users file, it trashed a register
  112.   internally that shouldn't have gotten trashed.  Under normal
  113.   conditions it would not have affected anything. (if the users
  114.   file was opened OK).
  115.  
  116. - If Ckit finds a generic.sys file in use, it will no longer ask
  117.   for the person's first and last name.  You will have to add this
  118.   to your program to do so. i.e.
  119.           if(GENERIC) {
  120.             newline();
  121.             s_puts("Please enter first and last name (MAX 25) ->");
  122.             get_cmdline_raw(45);
  123.             strncpy(fullname, cmdline, 25);
  124.         }
  125.  
  126. - New variable added called short ck_silent.  This variable when TRUE
  127.   will prevent keyboard timeout beeps from being sent to the local
  128.   console.  It can be set/reset manual thru your program and it will
  129.   also following the setting of F7 for PCBoard systems. (caller alarm toggle).
  130.  
  131. - Fixed some ANSI strings in the library so that it will no longer
  132.   attempt to set background color to black.  This should make things
  133.   a little easier for people using background colors other than black
  134.   and will allow you to only change the foreground colors (leaving the
  135.   background alone) when using ck_color();.
  136.  
  137. - Ckit was not always picking the node number up correctly from
  138.   DORINFOx.DEF files. (x being the node number).  Fixed.
  139.  
  140. 09-25-91 v2.08
  141.  
  142. -   Changed ck_DOTS operation.
  143.     Setting ck_DOTS = char will cause char to be echoed to the
  144.     remote/local console.  ck_DOTS = NULL cancels.
  145.  
  146. -   ck_system_time_used() was prototyped incorrectly in ckit.h
  147.     as ck_system_time_left().  Fixed.
  148.  
  149. -   Some variables in ckit.h did not have the "ck_" prefixed
  150.     to the variable name.  Fixed.
  151.  
  152. -   Added support to MBBS systems. (PCBoard clone found in largely Europe).
  153.  
  154. -   Changed ck_set_ANSI() to accept TRUE/FALSE (short) depending
  155.     whether or not the user wanted to turn ANSI compability ON or OFF.
  156.     The previous ck_set_ANSI() toggled this setting.  The prototype
  157.     for ck_set_ANSI is now -  short  ck_set_ANSI(short) where the short
  158.     is either TRUE/FALSE.  (1 or 0).  It returns whatever you pass it.
  159.  
  160.     Why is this routine necassary?   When C-kit first opens a system file
  161.     it determines from the file whether the wanted the user wants
  162.     ANSI control, (ansi_NG will be set, GRAPHICS FALSE) OR if they wanted
  163.     ANSI control with graphics (ansi_NG false, GRAPHICS TRUE).  To save
  164.     code size and execution time in the internal library rountines
  165.     (such as ck_pos_cursor etc) , there is only one internal variable
  166.     that C-kit checks to see if ANSI was desired.  This routine only becomes
  167.     necassary when a user of your door is using generic.sys.  The
  168.     generic.sys has no way of knowing whether the user wanted ANSI or
  169.     has ANSI selected.   If the door program detects that a generic.sys
  170.     file is being used, it should then stop and ask if the user desires
  171.     ANSI control and if the user wants ANSI control with color.
  172.     set ansi_ng TRUE, graphics FALSE  and ck_set_ANSI(TRUE)  (ansi w/o color)
  173.     set ansi_ng FALSE, graphics TRUE  and ck_set_ANSI(TRUE)  (ansi w/color)
  174.     set ansi_ng FALSE, graphics FALSE and ck_set_ANSI(FALSE) (no ansi)
  175.  
  176.     Notice that ck_set_ANSI() is the logical OR'ing of the other two
  177.     variables (ansi_ng and graphics) which is what C-kit does at the
  178.     begining of a door.  That way instead of doing this each time
  179.     routines such as ck_pos_cursor() etc.. is called it only has to
  180.     check one variable making the code smaller and faster.
  181.  
  182. -   Changed ck_dos_shell() to use the spawnlp() funtion in C.
  183.     The syntax for ck_dos_shell() has changed.  It is now
  184.     prototyped as ck_dos_shell(char *, char *); where
  185.     the 1st string pointer is the program to execute and
  186.     the 2nd string pointer is the command line arguments
  187.     to be passed to the program. Example taken from
  188.     CKITDEMO.C.  It should return an error level correctly
  189.     now reguardless of which compiler you are using.
  190.     The max. DOS limit for the length of cmd line arguments
  191.     is 128 chars so the 2nd string pointer should not exceed this.
  192.  
  193.    void    filexfer(void) {
  194.    sprintf(zmodem_cmds, "portx %X,%X pB4096 pa3000 handshake cts sz %s", \
  195.             uart_base, irq, doc_filename);
  196.     if(dos_shell("dsz", zmodem_cmds)) {
  197.         s_puts("\n\aTransfer aborted");
  198.     } else {
  199.         s_puts("\nTransfer complete");
  200.     }
  201.  
  202. -   There was a minor change in the ckit.h file under the
  203.     users structure.  Added user.packed_byte after user.protocol.
  204.     This location had not been used in previos PCBoard releases.
  205.     Changed ck_user.last_read to ck_user.last_read[39] in
  206.     user file structure.
  207.  
  208. -   Yes, Gary, you no longer have to use word alignment when using
  209.     the user structure or ck_update_user() function!.  This means
  210.     also that Microsoft C users will need to add the Zp1 switch
  211.     on the command line.  Zp1 tells MSC to pack structures on
  212.     1 (BYTE) bounderies.
  213.  
  214. 08-18-91 v2.0
  215.  
  216. -   It is not necassary to use WORD alignment EXCEPT if you
  217.     plan on using the user structure or the update_user() function.
  218.     Otherwise, BYTE or WORD alignment should work OK.
  219.  
  220. -   Added the short ck_system_time_used(void); function.
  221.  
  222. -   ALL ckit's variables/functions now begin with the letters "ck_"
  223.     See upgrade file.
  224.  
  225.  -  Added ck_DOTS.  This will cause dots "." to be echoed to
  226.     the screen when true and using one of the keyboard inputs.
  227.  
  228.  -  Fixed fullname so that it will display more than 2 names for
  229.     PCBboard 14.5.
  230.  
  231.  -  Ckit will no longer exit your program on it's own.  If open_door()
  232.     fails, it will now return an error code based what the problem it
  233.     had.  If open_door() is successful,  it will return a NULL.
  234.     The error codes are as follows:
  235.      ==========
  236.         1   ;Unable to open BBS system file (pcboard.sys,door.sys etc)
  237.         2   ;Problem reading BBS system file
  238.         3   ;Unrecognized BBS file type
  239.         4   ;Unable to open pcboard USERS file
  240.         5   ;Invalid User record or problem seeking to user record
  241.         6   ;Problem reading USER record
  242.         7   ;PORT command syntax error
  243.         8   ;Fossil driver specified but no Fossil driver installed
  244.         9   ;Memory allocation problem
  245.  
  246. -   Added ability to change ALL of Ckit's exit message and they can be
  247.     of any length.  The code looks for an array of pointers to the exit
  248.     messages and uses the option variable to pick which one to print.
  249.     This pointer to the array of pointer is now public so you can
  250.     define you own array of pointers to the 5 exit messages.  They must
  251.     be in this order.  See ck_logoff_msgs;
  252.  
  253. -  display_file() will only print a "generic" message now.
  254.    "ERROR: Unable to open file!\a\r\n".  If you want it to print
  255.    a specific file error message, the you need to change error_msg11.
  256.    This message is limited to 47 characters NOT including the NULL terminator.
  257.    strcpy(error_msg11, "\a\nUnable to locate CKIT.DOC");
  258.         if(display_file(doc_filename)) {
  259.                 newline();
  260.         };
  261.  
  262. -  Added set keyboard time out routine.  This will allow the door author
  263.    to set keyboard timer.  See set_kybd_time();
  264.  
  265. -  The keyboard timer will not beep locally now if display has been turned
  266.    off.  (display = FALSE).
  267.  
  268. -   Added ability to change Ckit's general purpose messages.
  269.     See ck_gen_msgs;
  270.  
  271. -    Added system_time_used().   This will report back the number of minutes
  272.      since the door was opened.  It does include time used in previous calls.
  273.      You can use this function along with mins_left_system() to create
  274.      you prompt the same way display_time() does.
  275.      s_printf("( %d used, %d left)", system_time_used()+prev_used, \
  276.                                       mins_left_system()+time_credit);
  277.  
  278. -   The global variable option will now be available BEFORE a call to
  279.     close_door() is made.  If DUMP_USER goes TRUE, you can now check
  280.     option to see why it went TRUE BEFORE calling close_door().
  281.  
  282. -   Fixed a problem in the large model libraries
  283.     with updating users record.
  284.  
  285. -  Change syntax of ansi_NG to ansi_ng in MSC libraries.
  286.  
  287. -   Fixed a problem with the port command that only occured
  288.     if port was passed as the 3rd argument
  289.  
  290. -   Changed get_cmdline() to accept chars > than ASCII 128
  291.  
  292. -   Added switch for ansi when using PCB14.5+ pcboard.sys file
  293.     to know if the caller wanted ANSI but no color.
  294.  
  295. -   Ckit was not allowing ANSI cursor commands if the door.sys file
  296.     had the user set for ANSI with no graphics.  (ansi_ng).  Fixed.
  297.  
  298. -   Added a new variable short non_ibm.  This indicates whether the caller
  299.     called using 7 bits instead of 8 bits.  Using 7 bits doesn't allow
  300.     for IBM graphic characters above 128 to be displayed correctly.
  301.  
  302. -   Added time_credit, and mins_left_system() to the door documentation.
  303.     These were always available but was left out of the documentation
  304.     for some unknown reason..:)
  305.  
  306. -   Added two more variables:
  307.     short uart_base -  will contain the base address of the port in use.
  308.     short irq - will contain the interrupt request in use.
  309.  
  310. -   Corrected a problem with display_file again.. Also rearranged
  311.     and optimized some code in the display_file().   You should
  312.     see a SUBSTANTIAL improvement in the way display_file works for
  313.     speed.
  314.  
  315. -   Increased the strings main_dir[] and gen_dir[] from 15 chars.
  316.     to 80 characters.
  317.  
  318. -   Added proto's for Ctrl-K set of functions that were left out
  319.     of CKIT.H
  320.  
  321. -   CKIT.H had a variable called current_conference.  This should
  322.     have been called current_conf.  fixed
  323.  
  324. -   If you were using pos_cursor() (ANSI cursor control) and you
  325.     were displaying peices of a string on the same line, and
  326.     you didn't have any line feeds and you went past line 22
  327.     (into the local status bar), Ckit would try and scroll the
  328.     screen each time you called pos_cursor() with a row number
  329.     greater than 22 even though you were still on the same line.
  330.     Fixed.
  331.  
  332.  
  333. 07-15-91
  334. -   Added switch for ansi when using PCB14.5+ pcboard.sys file
  335.     to know if the caller wanted ANSI but no color.
  336.  
  337. -   Ckit was not allowing ANSI cursor commands if the door.sys file
  338.     had the user set for ANSI with no graphics.  (ansi_NG).  Fixed.
  339.  
  340. -   Added a new variable short non_ibm.  This indicates whether the caller
  341.     called using 7 bits instead of 8 bits.  Using 7 bits doesn't allow
  342.     for IBM graphic characters above 128 to be displayed correctly.
  343.  
  344. -   Fixed a problem in the LARGE memory model where it was not reading
  345.     a DORINFOx.DEF file correctly for the graphics preference.
  346.  
  347. 07-08-91  v1.81ß
  348. -   Added time_credit, and mins_left_system() to the door documentation.
  349.     These were always available but was left out of the documentation
  350.     for some unknown reason..:)
  351.  
  352. 07-Jul-91 v1.81ß
  353.  
  354. -   Added two more variables in CKIT.H.
  355.     short uart_base -  will contain the base address of the port in use.
  356.     short irq - will contain the interrupt request in use.
  357.  
  358. -  Optimized some code in the interrupt handlers.
  359.  
  360. 02-Jul-91 v1.81ß
  361.  
  362. -   Corrected a problem with display_file again.. Also rearranged
  363.     and optimized some code in the display_file().   You should
  364.     see a SUBSTANTIAL improvement in the way display_file works for
  365.     speed.
  366.  
  367. -   Increased the strings main_dir[] and gen_dir[] from 15 chars.
  368.     to 80 characters.
  369.  
  370. -   Optimized some other code in CKIT.
  371. 21-Jun-91 v1.81ß
  372.  
  373. -   Added proto's for Ctrl-K set of functions that were left out
  374.     of CKIT.H
  375.  
  376. -   CKIT.H had a variable called current_conference.  This should
  377.     have been called current_conf.  fixed
  378.  
  379. -   If you were using pos_cursor() (ANSI cursor control) and you
  380.     were displaying peices of a string on the same line, and
  381.     you didn't have any line feeds and you went past line 23
  382.     (into the local status bar), Ckit would try and scroll the
  383.     screen each time you called pos_cursor() with a row number
  384.     greater than 23 even though you were still on the same line.
  385.     Fixed.
  386.  
  387. 15-Jun-91 v1.8
  388.  
  389. -   Added support for FOSSIL drivers.  Ckit will now
  390.     detect if a fossil driver is in use.  See the
  391.     open_door() in the docs.  You will need to add
  392.     this to your door doc files.
  393.  
  394. -   Added more capability to inkey().  inkey() will now
  395.     watch time left and set DUMP_USER.
  396.  
  397. -   Included some useful information with using close_door()
  398.     and C's atexit() function.  Door authors need to
  399.     read this! and look at the ckitdemo.c usage of it.
  400.  
  401. -   Fixed a potential problem whereas if exit_msg[] was
  402.     a NULL,  Ckit could get hung up.
  403.  
  404. 05-May-91 v1.76D
  405.  
  406. -   Added chatmode set to TRUE when the sysop drops to DOS
  407.     so the door program can know that a screen re-fresh is
  408.     needed.  See chatmode usage in DOC file for more info.
  409.  
  410. -   Fixed the PORT:XXXX:X cmd, CKIT wasn't picking up the port
  411.     base address/irq correctly.
  412.  
  413.     NOTE DOOR AUTHORS:
  414.        You should include in your documentation the PORT usage
  415.        cmd and compile your door program to accept and pass
  416.        this information to open_door().  Pls see docs.
  417.  
  418. -   Fixed display_file() so it would not display the EOF
  419.     character.
  420.  
  421.  
  422. 24-Mar-91 v1.76
  423.  
  424. -   Added support for RBBS-PC and other systems using the DORINFOx.DEF
  425.     system files.
  426.  
  427. -   Source code for reading PCBoard data files are available on Data-Comp BBS
  428.     and may be linked with your C door program if desired.   RBBS and
  429.     and others will be as they become available.
  430.  
  431. 15-Feb-91 v1.75C
  432.  
  433. -   Not sure what happend 1.75B but anyway, the C version fixed
  434.     a few loose ends.
  435.  
  436. -   Fixed code so that door.sys, wildcat, and generic.sys files are closed
  437.     after a call to open_door().
  438.  
  439. -   Changed so that if sysop is logged on,  (using pcboard.sys),  the
  440.     firstname will be set to what is in the pcboard.sys file instead
  441.     of "sysop".
  442.  
  443. -   Added a pointer to the internal buffer that pcboard.sys is held and
  444.     which will be used to update pcboard.sys when returning to the board.
  445.     Added pointer to internal pcboard.sys buffer - BYTE *pcbsysbuf
  446.  
  447. -   Changed logoff_msg[] to exit_msg[].   logoff_msg[] is now displayed if
  448.     the user says good-bye within the door.  See CKIT.H for the macros
  449.     LOGOFF and EXITDOOR.  The complete log-off routines and source code
  450.     for reading pcboard.dat files are on Data-Comp BBS.  These can be
  451.     linked with CKIT if you want to add a log-off feature for PCBoard
  452.     doors.
  453.  
  454. 24-Nov-90 v1.75
  455. -   Fixed a problem in the last release for sysops using the
  456.     pcboard.sys file.  CKIT would always report "Time adjusted
  457.     for upcoming event".
  458.  
  459. 12-Nov-90 v1.75
  460. -   Added a function to update user record IF you are writing the
  461.     door for use with PCBoard 14.5.  The new function name is
  462.     update_user().
  463.  
  464. -   Added the ability to turn on and off Control K checking, if
  465.     desired.  This involves the additon of 3 functions.
  466.     CtrlK_ON, CtrlK_OFF, and check_CTRL_K.
  467.  
  468. -   Added chat mode via function key 10.  Also a variable
  469.     short chatmode is set to TRUE when chat mode has taken
  470.     place.
  471.  
  472. -   CKIT will now read a file called GENERIC.SYS.  This file
  473.     will allow the door to work on ANY BBS system, depending on
  474.     the level of information required for door.
  475.  
  476. -   Added some enhancements to the status line for the COM port
  477.     status.  It will now display the status of CTS, DTR, DSR
  478.     and DCD.
  479.  
  480. -   Fixed a problem with ALL the medium models.  Also fixed a
  481.     problem with the delay() function in the MSC libraries.
  482.     There is also a large memory model now available for
  483.     registered users.
  484.  
  485. 16-Sep-90 v1.71
  486.     Release of version 1.71
  487.         This release was intended to be a maintenance release.
  488.         There were, however, a few things added and a couple items
  489.         repaired.
  490.  
  491. -   Added a function to re-enable keyboard timer after it had been
  492.     turned off by a previous call to debug_on().  The new function
  493.     name is debug_off().
  494.  
  495. -   Added the ability to define your own error message for the
  496.     display_file() function.  error_msg11[40].  If you don't
  497.     define it, CKIT will use it's default.
  498.  
  499. -   More and more and more documentation updates and examples.
  500.     Too many additions to list here.  Mostly more examples and
  501.     better explanations.
  502.  
  503. -   Fixed the display_file() function so that it will properly
  504.     handle files that did not contain line feeds.  There will
  505.     also be a future release of display_file() that will handle
  506.     the ANSI screens better and include PCB color macros.
  507.  
  508. -   Close door was clearing the screen when exiting.  It no
  509.     longer does this.
  510.  
  511. -   Fixed the More: (Y)es, (N), (NS)non-stop prompt.  Somehow
  512.     in the last release, the last part of the string was missing
  513.     from the source code.
  514.  
  515. -   Also missing in the last release source code was the public
  516.     declares for transmit_modem, set_r_c and another function.
  517.     Not sure how this happened but it did.  Your linker will now
  518.     find these.
  519.  
  520. -   The page_length should be accurate now.  The bug that was in
  521.     PCBoard's 14.5 door.sys has been fixed and I changed CKIT to
  522.     give the true page length.
  523.  
  524. 01-Sep-90 v1.6
  525.     Release of version 1.7
  526.  
  527. -   Added support for reading scan codes from non-standard keys on
  528.     IBM keyboards. (F1-F10, Arrows, PgUp, PgDn, etc).
  529. -   Ability to define the logoff message and color
  530. -   Ability to change the port address and IRQ if needed.
  531.     PORT:AAAA:A where AAAA equal to port base address and A is IRQ
  532.     i.e PORT:02F8:3 would be the same as COM2.
  533. -   Additonal variables:
  534.     short scan_code, short logoff_color, char logoff_msg[40], short key_source
  535. -   Additonal functions:
  536.     short wait_keypress(void) for "hot_keys"
  537. -   open_door()'s prototype has been changed.  This allows one to pass
  538.     as many parameters as desired (up to the max. of 3), without having
  539.     to pass any dummy pointers.
  540. -   Fixed a problem in the cmd line where certain command line
  541.     parameters (callinfo.bbs and pcboard.sys) passed were case sensitive.
  542.     This caused CKIT to read them incorrectly.
  543. -   Cleaned up the status line display when certain information was not
  544.     available depending on which file was opened. (pcboard, door.sys, callinfo)
  545. -   Additional documentation added and improvements.
  546.     Once again, see open_door() for some changes and key_source.
  547.     The option variable documention has also been updated.
  548.     Also see the ckitdemo.c for more examples.
  549.  
  550. 19-Aug-90 v1.6
  551.     Release of version 1.6
  552.         Added support for WILDCAT! systems.  The following additonal
  553.         information is available for WILDCAT! users.
  554.         Additional WILDCAT! variables:
  555.                 monitor_type[5], max_sec[5], high_msg[5], door_opened[5],
  556.                 BYTE name_in_user
  557.         Additional variables for general use by any system:
  558.         short WILDCAT, protocol[15], security_level[5]
  559.  
  560.         See the CKIT.DOC for explanations and the compatibility chart.
  561.  
  562.   -     clr_screen() was not properly handling NON_ANSI callers.  fixed
  563.  
  564.   -     Under certain circumstances, a parsing routine in CKIT could get
  565.         hung up.  fixed.
  566.  
  567.   -      Reduction of code size by about 5% relative.
  568.  
  569.   -     Fixed some documentation errors.  In particular, you may want to
  570.         reprint the open_door() page and progname variable page.
  571.         Also there are new variables listed above in the doc file and
  572.         the compatibility chart has been upgraded.
  573.  
  574.   -     Look over the NEW CKITDEMO.C and CKITDEMO.H files.  The demo
  575.         demostrates some use of added features, (zmodem download,
  576.         pcb, wildcat! etc).
  577.  
  578. 13-Aug-90 v1.5A
  579.     Release of version 1.5A
  580.         I can't believe I did this.  After telling everyone to make
  581.         sure and not have debug_on in the released versions of their
  582.         door,  I released CKIT with debug on!.  As a result, the
  583.         keyboard timer and some other things would not work
  584.         properly. This release with a code date 8/13/90 will work
  585.         properly.
  586. 11-Aug-90 v1.5
  587.     Release of version 1.5
  588.         Ckit is now compatible with PCBoard version 12.0, 14.x-14.5, GAP
  589.         BBS, and other BBS systems using the standard door.sys file.
  590.         The level of compatiblity is up to the door author and the type
  591.         of information needed.  There is a lot of information available,
  592.         but by keeping this to a minimum, the door author can write his
  593.         door to be compatible with all the systems above with no extra
  594.         instructions to the user of the door except for the PCBoard
  595.         sysop to use either pcboard.sys or door.sys.  (Version 12.0
  596.         would have to use pcboard.sys and all others use door.sys.)
  597.         CKIT will automatically determine which file to read and which
  598.         PCBoard version is in use.  See the compatiblity section in this
  599.         doc file for more information and a Variables Quick-Reference.
  600.  
  601.     -   Added more features and cosmetics to the program's status line
  602.         for the sysop's use...
  603.         F8      - Return user to BBS.  This was always there, I just
  604.                   forgot to document it.  :)
  605.         F5      - Shell to DOS
  606.         ALT-X   - Sets the PCBoard's exit to DOS after caller flag
  607.         ALT-N   - Sets the PCBoard's sysop on next after caller flag
  608.         ALT-H   - Display Help Screen on sysop status line, and next
  609.                   ALT-H will show com port status
  610.  
  611.    -    Functions added are:
  612.  
  613.         dos_shell(char *) - Allow door author to shell to another program
  614.                               for execution if desired.  See CKIT.DOC
  615.  
  616.         _debug_on(void);  - Turns off keyboard timer and other things
  617.                             while door author is debugging his door.
  618.  
  619.   -     Additional variables:
  620.         short   PCB, PCB12, expert, parity, *conferences, current_conference,
  621.                 caller_bday[8], main_dir[15], gen_dir[15], sysop_name[15],
  622.                 sysop_alias[15], page_length, ansi_ng, default_color[2],
  623.                 last_dir_scan[8], daily_files[4], total_doors[4],
  624.                 msgs_left[4], max_files[4], upload_Kbytes[10],
  625.                 download_Kbytes[10], dload_total[5], upload_total[5]
  626.  
  627.   -     Added my own math routine so you no longer have to include
  628.         MATH.LIB if you are using TC compiler.
  629.  
  630.   -      Reduction of code size by about 20% relative.
  631. 25-Jul-90 v1.1
  632.     Release of version 1.1
  633.         This release was a little premature.  I went ahead and released
  634.         it since it did fix a couple of problems. "*" indicates a new
  635.         feature.  Pages in CKIT.DOC for display_file(), input(),
  636.         purge_buffer(), check_CR(), check_keypress() have been updated/added
  637.         and you may want to reprint these.
  638.  
  639.         Display_file() -
  640.         a. It will now put a space before the filename when it reports a
  641.            problem.
  642.         b. The EOF is no longer displayed.
  643.         c. display_file() will now correctly display text files that have ANSI
  644.            codes embedded in the file.
  645.         d. CTRL-K now works on the local keyboard. (The remote keyboard was OK)
  646.       * e. display_file() will now return TRUE/FALSE to indicate whether a
  647.            problem had occured.  You can then check the C global variable
  648.            _errno for cause of error.
  649.       * f. Fixed problem when user.page_length was equal to 0.  See the
  650.            CKIT.DOC for hints on how to take advantage of this.
  651.  
  652.     2. display_time() -  Would not update the time used until after
  653.                         two carriage returns were entered.  fixed
  654.     3. input()
  655.  
  656.         a. Control characters or any non-displayable characters below 1F hex
  657.            will not increase the counter.  This corrects the problem of being
  658.            to backspace too far and erasing the prompts.
  659.       * b. Each call to input() now will purge the buffer you wish to place
  660.            keyboard input.  You should no longer have to include the statement
  661.            memset(buffer, 0, 21) before calling input().
  662.       * c. A new function purge_buffer will purge any buffer to NULLS by
  663.            passing a pointer to the buffer and the size of the buffer.
  664.            i.e purge_buffer(buffer, 0x80).
  665.            This may or may not be useful but is available.
  666.  
  667.          NOTE: There is a seperate purge function for the serial port input
  668.            buffer if you wish to purge it before calling input.
  669.            See CKIT.DOC
  670.  
  671.       * d. New function available called check_keypress. Checks for any
  672.            specific ASCII character.
  673.            This function will return TRUE/FALSE as defined in CKIT.DOC.
  674.  
  675.       * e. Another new function called check_CR will check for a carriage
  676.            return and return TRUE/FALSE.
  677.  
  678.     4. get_nextpar() - Would only accept 2 stacked commands, fixed.
  679.  
  680.   While working on the get_nextpar() function,  I went ahead and targeted it
  681.   for some optimization along with the get_cmdline() function.
  682.   The results are:
  683.    get_nextpar() is now smaller and 7% faster.
  684.    get_cmdline() is now smaller and 45% faster.
  685.  Overall, with all the corrections and added functions the .obj file for
  686.  CKIT is now 2% SMALLER than before.
  687.  
  688. 25-Jun-90 v1.05
  689.     Release of version 1.05
  690.  
  691.         Added support for 16550AN UART.  The code will take advantage
  692.         of 16550AN chip if present.  Added caller log function.
  693.         Begin including the medium library with Zip.  This was done
  694.         because of the self-registering feature.  Took out time limit
  695.         that CKIT originally had.  Future releases will not have any
  696.         limitations.
  697.  
  698. 20-Jun-90 v1.0
  699.     Release of version 1.0C
  700.  
  701.         Fixed another minor problem where the assembler I used had
  702.         converted all my functions to uppercase in the .obj file.
  703.         I thought the default was to not do that but as it turns out
  704.         it wasn't.  Now all the library function names/variables are
  705.         the right case.
  706.  
  707. 16-Jun-90 v1.0
  708.     Release of version 1.0B
  709.  
  710. 01-Jun-90 v1.0
  711.     Release of version 1.0
  712.  
  713. 01-May-90 v1.0
  714.    Initial BETA testing as CKIT10ß.ZIP
  715.  
  716.         Beta 1.0 release.  The next release of CKIT, I predict, should have
  717.         about a 15% to 20% reduction in code size. If you find any problems
  718.         with CKIT, please contact me at the phone numbers/address above.
  719.  
  720.